Skip to content

fix(deps): update payloadcms monorepo to v3.82.1#957

Open
github-actions[bot] wants to merge 1 commit intomasterfrom
renovate/payloadcms-monorepo
Open

fix(deps): update payloadcms monorepo to v3.82.1#957
github-actions[bot] wants to merge 1 commit intomasterfrom
renovate/payloadcms-monorepo

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot commented Mar 2, 2026

This PR contains the following updates:

Package Type Update Change
@payloadcms/db-mongodb (source) dependencies minor 3.76.1 -> 3.82.1
@payloadcms/email-nodemailer (source) dependencies minor 3.76.1 -> 3.82.1
@payloadcms/next (source) dependencies minor 3.76.1 -> 3.82.1
@payloadcms/richtext-lexical (source) dependencies minor 3.76.1 -> 3.82.1
@payloadcms/storage-uploadthing (source) dependencies minor 3.76.1 -> 3.82.1

Release Notes

payloadcms/payload (@​payloadcms/db-mongodb)

v3.82.1

Compare Source

🐛 Bug Fixes
  • next: use correct config key for disabling turbo server fast refresh (#​16215) (11adc9d)
  • plugin-nested-docs: await populateBreadcrumbs in resaveChildren (#​15582) (0554b50)
⚡ Performance
📚 Documentation
📝 Templates
🤝 Contributors

v3.82.0

Compare Source

🚀 Features
🐛 Bug Fixes
  • incorrect 24 hour format comment example (#​15649) (f42b767)
  • resolve 404/500 error when downloading files containing hash in filename (#​15799) (3a09387)
  • JSDoc string for focalPoint option in uploads so it correctly mentions defaults to true (#​13070) (84090ac)
  • skip validation for unpublish operations with localized required fields (#​16120) (24b9e13)
  • skip default validation for virtual fields (#​16015) (e09c619)
  • db-mongodb: update mongoose-paginate-v2 to fix collation pagination (#​16049) (78a27ab)
  • drizzle: convert equals/not_equals to in/not_in for hasMany relationship array values (#​15766) (59af156)
  • next: fix hmr, bump minimum required next.js 16 version to 16.2.2 (#​16202) (7f83571)
  • next: admin.meta.title object form renders [object Object] in browser tab (#​16117) (0981cdc)
  • plugin-mcp: add error handling to convertCollectionSchemaToZod (#​16114) (6184b0c)
  • plugin-multi-tenant: infinite api calling loop on user switch (#​16065) (3da805f)
  • storage-*: redundant re-uploads when file was already uploaded by the client and add comprehensive E2E tests for s3 and vercel-blob (#​16115) (a6735f3)
  • storage-azure: fix azure storage mime type handling for streaming uploads (#​15949) (cd7fcea)
  • templates: tailwind file extension is wrong in website template components.json file (#​9342) (2011f28)
  • templates: fixed forgot password link (#​15037) (b505e36)
  • templates: add generated files to ESLint ignores (#​15716) (941a41f)
  • templates: typo in with-cloudflare-d1 template (#​14243) (14b708f)
  • translations: fix Swedish unpublish translations and capitalization (#​15353) (4e48706)
  • translations: correct French translation for 'move' action (#​14771) (750d29f)
  • translations: update passive voice and newLabel wording in zh-TW translations (#​13761) (e284ab5)
  • translations: update Japanese translations related to localizeStatus (#​15358) (7ab2881)
  • ui: relationship filter duplicate options when switching operators (#​16204) (3a1f31a)
  • ui: unpublish button missing for globals and version count incorrectly incrementing after unpublish (#​16203) (1ddeb60)
  • ui: exclude unnamed tab labels from filter and groupBy field options (#​9965) (b13c5c9)
  • ui: update node to v20 (#​15717) (b2593d6)
  • ui: radio fields do not reliably trigger admin.condition re-evaluation on sibling fields (#​16056) (7e2a126)
⚡ Performance
🛠 Refactors
  • plugin-seo: rename non-JSX files from .tsx to .ts (#​14418) (b67882c)
  • translations: improve German translations for consistency and accuracy (#​14439) (f3c0bc8)
📚 Documentation
📝 Templates
  • fix tailwind typography config so that it works better with shadcn CLI (#​16209) (4931458)
🏡 Chores
🤝 Contributors

v3.81.0

Compare Source

🚀 Features
  • add LLM eval suite for Payload conventions and code generation (#​15710) (db4b00e)
  • next: prevent admin panel errors when cacheComponents is enabled (#​16020) (1ecd7dd)
🐛 Bug Fixes
🛠 Refactors
📚 Documentation
  • clarify unique field index behavior and add warnings for array/blocks nesting (#​15969) (38c1d4d)
  • document ListViewServerProps/ClientProps and custom list view component patterns (#​15970) (eb3b227)
  • adds code examples for how to fully implement textStateFeature (#​16053) (80ae745)
🧪 Tests
📝 Templates
⚙️ CI
🏡 Chores
  • claude: update audit-dependencies skill with lockfile strategy and override rules (#​16106) (974870a)
  • deps: bump qs-esm from 7.0.2 to 8.0.1 (#​16110) (d6862fe)
🤝 Contributors

v3.80.0

Compare Source

🚀 Features
  • add disableUnique property to the slug field for better multi tenant plugin support (#​15963) (395e1ed)
🐛 Bug Fixes
  • unpublish updates existing version instead of creating a new one (#​15985) (67063ab)
  • use latest draft version data when trashing unpublished documents (#​15981) (57a0edc)
  • db-mongodb: fix pagination with collation in transactions (#​15990) (5c935aa)
  • db-postgres: near query can give incorrect results (#​15907) (843306c)
  • db-sqlite: scheduled publish does not show upcoming events because of wrong nested json querying (#​15911) (3fa834a)
  • deps: resolve high severity audit vulnerabilities (#​15961) (da212fd)
  • drizzle: pagination applied incorrectly when sorting by a field inside an array field (#​15908) (0f67215)
  • drizzle: groups inside localized tabs are not working correctly (#​15936) (57bde77)
  • graphql: force nullable for relationships to avoid errors when the related document is related (#​15915) (560cabe)
  • plugin-mcp: plugin can break next.js request handler because underlying Hono library modifies the global Request object (#​15938) (4cfa495)
  • plugin-multi-tenant: modal container blocks clicks on create-first-user page (#​15973) (8157f4c)
  • richtext-lexical: richtext fields don't respect RTL direction for Arabic and other RTL locales (#​15964) (944a889)
  • ui: defer live preview iframe rendering (#​15999) (9999083)
  • ui: stale data modal shown when onChange starts while save is in-flight (#​15960) (dc98f0f)
📚 Documentation
📝 Templates
⚙️ CI
🏡 Chores
🤝 Contributors

v3.79.1

Compare Source

🐛 Bug Fixes
⚡ Performance
  • richtext-lexical: 3-15x less main thread blocking via centralized toolbar state (#​15832) (2bdf7ce)
📚 Documentation
  • correct type name in editMenuItems client component example (#​15904) (03b20d0)
  • adds req to available args and wraps examples with proper String type conversions in nested-docs (#​15931) (d2a0740)
  • adds docs for logger config (#​15927) (46e43fc)
  • fix links to virtual relationship documentation in both Blocks and Array field documentation (#​15888) (fff60c8)
  • broken anchor link in blocks field table (#​15887) (36c051a)
  • examples: clarify MongoDB prerequisites in Mongo-backed examples (#​15860) (2aa973f)
  • plugin-mcp: updates MCP plugin documentation (#​15729) (b97b4e7)
🧪 Tests
  • adjust total test count to exclude todo tests in summary output (#​15943) (e46daec)
  • fixes pagination and sorting list-view tests due to hydration timing issues (#​15925) (b0f00c4)
  • flaky timeout when clicking Create New button in versions test suite (#​15850) (3fb10e1)
🏡 Chores
🤝 Contributors

v3.79.0

Compare Source

🚀 Features
  • richtext-lexical: separate configuration for lexical block icons (#​15632) (f0498f2)
  • richtext-lexical: upgrade lexical from 0.35.0 to 0.41.0 (#​15760) (ba3bd74)
  • translations: add i18n translations for modular dashboards (#​15004) (cef2838)

Separate Block Icon Configuration (richtext-lexical) — Configure different images for Lexical block icons and block drawer thumbnails independently. Previously, imageURL served both contexts, forcing a compromise between a good 20x20px icon and a good drawer thumbnail. The new images property supports separate icon and thumbnail values with automatic fallback. Fully backwards compatible — imageURL still works but is deprecated. #​15632

image
const QuoteBlock: Block = {
  slug: 'quote',
  images: {
    icon: 'https://example.com/icons/quote-20x20.svg',
    thumbnail: { url: 'https://example.com/thumbnails/quote-480x320.jpg', alt: 'Quote block' },
  },
  fields: [...],
}

Lexical Upgrade 0.35.0 → 0.41.0 (richtext-lexical) — Upgrades the Lexical rich text editor dependency from v0.35.0 to v0.41.0. Includes upstream fixes like normalizeMarkdown (facebook/lexical#7812). All Lexical breaking changes are handled internally by Payload — no action required for standard usage. If you installed lexical manually, update it to 0.41.0 (though using the re-exported versions from @payloadcms/richtext-lexical/lexical/* is recommended). #​15760

Modular Dashboard Translations (translations) — Adds i18n translation support for the Modular Dashboards feature, covering all dashboard widget buttons and error messages. Previously, dashboard UI elements lacked translation keys, making them inaccessible for non-English users. Also updates the automatic translation script to use GPT-4.1 for improved cost efficiency. #​15004

image
🐛 Bug Fixes
  • restoreVersion validation for localized required fields (#​15821) (e899182)
  • draft doc validation when duplicating docs (#​15816) (f470699)
  • plugin-ecommerce: pass req to Payload API calls in Stripe adapter (#​15839) (74799ea)
  • plugin-import-export: automatically inherit locale and limit from URL queries (#​15812) (ee083f0)
  • plugin-import-export: fix imports with locales in a different column order than exported (#​15808) (410912c)
  • plugin-import-export: fix exports in other non-latin scripts being broken when opened in excel (#​15813) (d931894)
  • ui: drag and drop not working for sortable hasMany fields (#​15845) (2c7ef3f)
  • ui: prevent false positive stale data modal on autosave-enabled documents (#​15817) (6aff717)
  • ui: typo in CodeEditor export statement (#​15795) (c5b2a91)
🛠 Refactors
  • rename widget ComponentPath to Component for consistency (#​15780) (f7d0d04)
📚 Documentation
🧪 Tests
  • update suites selected by default in runTestsWithSummary (#​15789) (07f2f05)
🏡 Chores
  • prevent dev server from dirtying tracked files (#​15826) (cb6f426)
  • plugin-search: clean up .DS_Store file and resulting empty images directory (#​14506) (f6f73dd)
⚠️ BREAKING CHANGES
  • rename widget ComponentPath to Component for consistency (#​15780) (f7d0d04)

    • Renames Widget.ComponentPath to Widget.Component and types it as PayloadComponentinstead ofstring`
    • This aligns dashboard widgets with every other component reference in (collections, globals, fields, admin components) - none of them path in the property name, and all of them are typed as PayloadComponent
    • Enables new typescript plugin to work for widget paths (the plugin uses PayloadComponent contextual type detection - string-typed properties were invisible to it)
  • ui: typo in CodeEditor export statement (#​15795) (c5b2a91)

🤝 Contributors

v3.78.0

Compare Source

🚀 Features

Feature Details

TypeScript Plugin for Component Paths - New @payloadcms/typescript-plugin validates PayloadComponent import paths directly in your IDE. It checks that referenced files and exports exist, provides autocomplete for file paths and export names, supports go-to-definition on component path strings, and understands all Payload path conventions including absolute paths, relative paths, tsconfig aliases, and package imports. #​15779

screenshot.2026-02-26.at.15.55.40.mp4
pnpm add -D @​payloadcms/typescript-plugin
{
  "compilerOptions": {
    "plugins": [{ "name": "next" }, { "name": "@​payloadcms/typescript-plugin" }]
  }
}

Trash Out of Beta with Granular Delete Access - Trash is now a stable feature. Delete access control can now distinguish between trashing and permanently deleting — allowing you to permit users to soft-delete documents while restricting permanent deletion to admins. When data.deletedAt is being set, the operation is a trash; otherwise it's a permanent delete. #​15210

import type { CollectionConfig } from 'payload'

export const Posts: CollectionConfig = {
  slug: 'posts',
  trash: true,
  access: {
    delete: ({ req: { user }, data }) => {
      // Not logged in - no access
      if (!user) {
        return false
      }

      // Admins can do anything (trash or permanently delete)
      if (user.roles?.includes('admin')) {
        return true
      }

      // Regular users: check what operation they're attempting
      // If data.deletedAt is being set, it's a trash operation - allow it
      if (data?.deletedAt) {
        return true
      }

      // Otherwise it's a permanent delete - deny for non-admins
      return false
    },
  },
  fields: [
    // ...
  ],
}

Widget Fields (next, ui) - Dashboard widgets can now declare configurable fields, similar to Blocks. Widget data is editable from a new drawer UI when in dashboard editing mode. Full type generation is included — WidgetInstance<T> is generic with typed data and width, and WidgetServerProps is generic so widget components receive typed widgetData. #​15700

Screen.Recording.2026-02-23.at.16.25.40.mov
import { buildConfig } from 'payload'

export default buildConfig({
  admin: {
    dashboard: {
      widgets: [
        {
          slug: 'sales-summary',
          ComponentPath: './components/SalesSummary.tsx#default',
          fields: [
            { name: 'title', type: 'text' },
            {
              name: 'timeframe',
              type: 'select',
              options: ['daily', 'weekly', 'monthly', 'yearly'],
            },
            { name: 'showTrend', type: 'checkbox' },
          ],
          minWidth: 'small',
          maxWidth: 'medium',
        },
      ],
    },
  },
})
import type { WidgetServerProps } from 'payload'

import type { SalesSummaryWidget } from '../payload-types'

export default async function SalesSummaryWidgetComponent({
  widgetData,
}: WidgetServerProps<SalesSummaryWidget>) {
  const title = widgetData?.title ?? 'Sales Summary'
  const timeframe = widgetData?.timeframe ?? 'monthly'

  return (
    <div className="card">
      <h3>
        {title} ({timeframe})
      </h3>
    </div>
  )
}

MCP Plugin Out of Beta (plugin-mcp) - @payloadcms/plugin-mcp is now stable and ready for production use. #​15711

Virtual Field Filtering in MCP (plugin-mcp) - Virtual fields (virtual: true) are now automatically stripped from MCP tool input schemas and filtered from


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@github-actions github-actions bot force-pushed the renovate/payloadcms-monorepo branch from d67e489 to f159c95 Compare March 9, 2026 08:45
@github-actions github-actions bot changed the title fix(deps): update payloadcms monorepo to v3.78.0 fix(deps): update payloadcms monorepo to v3.79.0 Mar 9, 2026
@github-actions github-actions bot force-pushed the renovate/payloadcms-monorepo branch from f159c95 to 318d11b Compare March 23, 2026 08:58
@github-actions github-actions bot changed the title fix(deps): update payloadcms monorepo to v3.79.0 fix(deps): update payloadcms monorepo to v3.80.0 Mar 23, 2026
@github-actions github-actions bot force-pushed the renovate/payloadcms-monorepo branch from 318d11b to 1d3bb89 Compare April 6, 2026 09:10
@github-actions github-actions bot changed the title fix(deps): update payloadcms monorepo to v3.80.0 fix(deps): update payloadcms monorepo to v3.81.0 Apr 6, 2026
@github-actions github-actions bot force-pushed the renovate/payloadcms-monorepo branch from 1d3bb89 to 75dba2d Compare April 13, 2026 09:57
@github-actions github-actions bot changed the title fix(deps): update payloadcms monorepo to v3.81.0 fix(deps): update payloadcms monorepo to v3.82.1 Apr 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants